export default {
  dateFormat: function (input, fmt) {
    if (!input) {
      return
    }
    input = parseInt(input)
    if (new RegExp(`^[0-9]{10}$`).test(input.toString())) {
      input *= 1000
    }
    let time = new Date(input)
    // 2018-03-14T20:06:33.285827+08:00
    // str.replace(/\.[\S]+$/, '') => 2018-03-14T20:06:33
    // input = input.match(/^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}/).toString()
    let t = {
      'Y+': time.getFullYear(),
      'M+': time.getMonth() + 1,
      'D+': time.getDate(),
      'h+': time.getHours(),
      'm+': time.getMinutes(),
      's+': time.getSeconds()
    }
    for (let k in t) {
      // t[k] = t[k].toString().replace(/[^0-9]/g, '')
      if (new RegExp(`(${k})`).test(fmt)) {
        fmt = fmt.replace(RegExp.$1, padLeftZero(RegExp.$1.length, t[k]))
        // console.log(RegExp.$1)
      }
    }
    return fmt
  }
}

function padLeftZero (len, str) {
  str = str.toString()
  let res = str
  for (let i = 0; i < len - str.length; i++) {
    res = '0' + res
  }
  return res
}
